package com.cac.demo.newCode.sorting.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.data.annotation.Transient;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * <p>
 * AO分拣任务
 * </p>
 *
 * @author xz
 * @since 2024-08-27
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("MS_TASK_AO")
public class MsTaskAo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableField("MS_TASK_AO_ID")
    private String msTaskAoId;

    @TableField("PLAN_ID")
    private String planId;
    /**
     * 机型代码
     */
    @TableField("PRODUCT_CODE")
    private String productCode;

    /**
     * 机型名称
     */
    @TableField("PRODUCT_NAME")
    private String productName;

    /**
     * 批次
     */
    @TableField("BATCH_NO")
    private String batchNo;

    /**
     * 开始架次
     */
    @TableField("START_PLANE_NO")
    private Integer startPlaneNo;

    /**
     * WBS层次
     */
    @TableField("WBS_CODE")
    private String wbsCode;

    /**
     * 专业厂
     */
    @TableField("DEPART_CODE")
    private String departCode;

    /**
     * 工作包代码
     */
    @TableField("PACKAGE_CODE")
    private String packageCode;

    /**
     * 工作包名称
     */
    @TableField("PACKAGE_NAME")
    private String packageName;

    /**
     * AO编码
     */
    @TableField("AO_CODE")
    private String aoCode;

    /**
     * AO名称
     */
    @TableField("AO_NAME")
    private String aoName;

    /**
     * 要求时间
     */
    @TableField("REQUIRED_TIME")
    private Date requiredTime;

    /**
     * 配套状态 ,00 初始状态   02配套完成   04缺件状态 06取消状态
     */
    @TableField("STATE")
    private String state;

    /**
     * 物料缺件状态，00 不缺  A A类缺件 B B类缺件   C   C类缺件
     */
    @TableField("A_STATE")
    private String aState;

    /**
     * 创建人
     */
    @TableField("CREATED_BY")
    private String createdBy;

    /**
     * 创建时间
     */
    @TableField("CREATION_DATE")
    private Date creationDate;

    /**
     * 最后修改人
     */
    @TableField("LAST_UPDATED_BY")
    private String lastUpdatedBy;

    /**
     * 最后修改时间
     */
    @TableField("LAST_UPDATE_DATE")
    private Date lastUpdateDate;

    /**
     * 最后更新IP
     */
    @TableField("LAST_UPDATE_IP")
    private String lastUpdateIp;

    /**
     * 版本
     */
    @TableField("VERSION")
    private String version;

    /**
     * 工作包分拣任务表id
     */
    @TableField("MS_TASK_PACKAGE_ID")
    private String msTaskPackageId;

    /**
     * 备注
     */
    @TableField("REMARK")
    private String remark;

    /**
     * 配送状态(00 未配送，02 部分配送 ，04 配送完成)
     */
    @TableField("DELIEVERY_STATE")
    private String delieveryState;

    /**
     * 分拣状态 00 未分拣 02 分拣完成 04 工艺更改 08 部分分拣
     */
    @TableField("SORTING_STATUS")
    private String sortingStatus;

    /**
     * AO条码
     */
    @TableField("AO_BARCODE")
    private String aoBarcode;

    /**
     * 导入组号
     */
    @TableField("IMPORT_GROUP_NO")
    private String importGroupNo;

    /**
     * 四联、故障、报废单据编号
     */
    @TableField("DOC_NUMBER")
    private String docNumber;

    /**
     * 物料需求依据
     */
    @TableField("MATERIAL_GIST")
    private String materialGist;

    /**
     * 日计划要求时间
     */
    @TableField("DAILY_TIME")
    private Date dailyTime;

    /**
     * AO站位
     */
    @TableField("STATION")
    private String station;

    /**
     * 分拣台IP
     */
    @TableField("SORTING_IP")
    private String sortingIp;

    @TableField(exist = false)
    private List<MsAoMatchBill> msAoMatchBillList;
}
